package top.canyue.word_range_service.service;

import com.baomidou.mybatisplus.extension.service.IService;
import top.canyue.word_range.pojo.dto.PageDTO;
import top.canyue.word_range.pojo.dto.UserDto;
import top.canyue.word_range.pojo.po.User;
import top.canyue.word_range.pojo.query.UserQuery;
import top.canyue.word_range.pojo.vo.UserVo;
import top.canyue.word_range.result.Result;

public interface UserService extends IService<User> {
    Result<UserVo> getUserById(String id);

    PageDTO<UserVo> getUsersPage(UserQuery userQuery);

    Result<Object> resetPassword(String jwt, String newPassword);

    Result<UserVo> updateUserById(String id, UserDto userDto);

    Result<Object> deleteUserById(String id);

    Result<Long> getRegisterDays(String jwt);

    Result<UserVo> updateUserByJwt(String jwt, UserDto userDto);

    Result<Object> deleteUserByJwt();

    Result<Integer> getActivityIntegral();
}
